#pragma once
#include<stdio.h>
#include<stdlib.h>
#include<assert.h>

#define INIT_capacity 4

typedef int SLDatatype;

//动态顺序表
typedef struct SeqList
{
	SLDatatype* a;
	int size;  //数据的个数
	int capacity;   //容量大小

}SL;

//初始化数组
void SLInit(SL* ps);

//销毁数组
void SLDestroy(SL* ps);

//打印数组
void SLPrint(SL* ps);

//尾插
void SLPushBack(SL* ps, SLDatatype x);

//尾删
void SLPopBack(SL* ps);

//头插
void SLPushFront(SL* ps, SLDatatype x);

//头删
void SLPopFront(SL* ps);

//在指定位置插入
void SLInsert(SL* ps, int pos, SLDatatype x);

//在指定位置删除
void SLErase(SL* ps, int pos);

//查找
SLDatatype SLFind(SL* ps, SLDatatype x);

//改变某位置的元素为x
void SLModify(SL* ps, int pos, SLDatatype x);